/***************************************************************************
 创建者：华磊
 开始时间：         : 2020.12.17
 copyright            : (C) 深圳市华友高科有限公司
 修改说明：（每次有修改就添加一条，带有 修改人，修改时间，修改描述）

 ***************************************************************************
 *   跳过指令属性编辑视窗
*                                                                         *
 ***************************************************************************/
#ifndef SKIPCONDITIONVIEW_H
#define SKIPCONDITIONVIEW_H

#include "skipconditionview_global.h"
#include <QWidget>
#include <QTranslator>

class ProgramView;

namespace Ui {
class SkipConditionView;
}

/**
 * @brief The SkipConditionView class　跳过指令属性编辑视窗类
 */
class SKIPCONDITIONVIEWSHARED_EXPORT SkipConditionView : public QWidget
{
    Q_OBJECT

public:
    SkipConditionView(QWidget *parent = 0);

    /**
     * @brief updateView　更新设置数据到界面控件
     */
    void updateView();
    /**
     * @brief getInput　获取界面输入数据
     */
    void getInput();

    void changeLanguage(int language);

private:
    QTranslator translator;

public:
    ProgramView *programView;

   /**
    * @brief conditionSkipHead　条件跳过头
    */
   QString conditionSkipHead;
   /**
    * @brief conditionSkipTail　条件跳过尾
    */
   QString conditionSkipTail;

   /**
    * @brief condition　跳过条件
    */
   QString condition;
   /**
    * @brief lblIndex　跳转标签号
    */
   QString lblIndex;

   /**
    * @brief conditionHeadFlag　条件跳过头选择标志　０:未选择 1:选择
    */
   int conditionHeadFlag;
   /**
    * @brief conditionTailFlag　条件跳过尾选择标志　０:未选择 1:选择
    */
   int conditionTailFlag;

   /**
    * @brief note　指令注释
    */
   QString note;

signals:
   /**
     * @brief selectConditionHead　选择条件跳过头
     */
    void selectConditionHead();
    /**
     * @brief selectConditionTail　选择条件跳过尾
     */
    void selectConditionTail();

    /**
     * @brief clearNote　清除注释
     */
    void clearNote();
    /**
     * @brief finishEditInstruction　完成指令编辑
     */
    void finishEditInstruction();
    /**
     * @brief saveInstruction　保存编辑指令
     * @param skipInstruction　跳过指令
     */
    void saveInstruction(QString skipInstruction);

private slots:
    /**
     * @brief on_conditionHead_radioButton_clicked　选择条件跳过头槽函数
     */
    void on_conditionHead_radioButton_clicked();

    /**
     * @brief on_conditionTail_radioButton_clicked　选择条件跳过尾槽函数
     */
    void on_conditionTail_radioButton_clicked();

    /**
     * @brief on_clearNote_Btn_clicked　清除注释槽函数
     */
    void on_clearNote_Btn_clicked();

    /**
     * @brief on_forward_Btn_clicked　上一页槽函数
     */
    void on_forward_Btn_clicked();

    /**
     * @brief on_save_Btn_clicked　保存指令槽函数
     */
    void on_save_Btn_clicked();

private:
   Ui::SkipConditionView *ui;
};

#endif // SKIPCONDITIONVIEW_H
